home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games Extra 1996 September / Amiga Games Extra CD-ROM 9-1996.iso / userbox / publicdomain / wbstars / source / wbstars_temp.c < prev    next >
C/C++ Source or Header  |  1996-07-10  |  5KB  |  360 lines

  1. /* $VER: WBStars_temp.c 1.12 (09.07.1996)
  2.  * This file contains empty template routines that
  3.  * the IDCMP handler will call uppon. Fill out these
  4.  * routines with your code or use them as a reference
  5.  * to create your program.
  6.  */
  7.  
  8.  
  9. #include "WBStars_include.h"
  10. #include "WBStars_protos.h"
  11. #include "WBStars_gui.h"
  12.  
  13.  
  14. char colnums[256];
  15.  
  16. int azincClicked( void )
  17. {
  18.     /* routine when gadget "+" is clicked. */
  19.  
  20.     az2=(az2+1)%360;
  21.  
  22.     GT_SetGadgetAttrs(WBStarsGadgets[GD_azimut2],WBStarsWnd,NULL,GTIN_Number,az2,TAG_DONE);
  23.  
  24.     return TRUE;
  25. }
  26.  
  27. int hedecClicked( void )
  28. {
  29.     /* routine when gadget "-" is clicked. */
  30.  
  31.     if(he2>-90)
  32.     {
  33.         he2=he2-1;
  34.         GT_SetGadgetAttrs(WBStarsGadgets[GD_height2],WBStarsWnd,NULL,GTIN_Number,he2,TAG_DONE);
  35.     }
  36.  
  37.     return TRUE;
  38. }
  39.  
  40. int heincClicked( void )
  41. {
  42.     /* routine when gadget "+" is clicked. */
  43.  
  44.     if(he2<90)
  45.     {
  46.         he2=he2+1;
  47.         GT_SetGadgetAttrs(WBStarsGadgets[GD_height2],WBStarsWnd,NULL,GTIN_Number,he2,TAG_DONE);
  48.     }
  49.  
  50.     return TRUE;
  51. }
  52.  
  53. int azdecClicked( void )
  54. {
  55.     /* routine when gadget "-" is clicked. */
  56.  
  57.     az2=(az2+359)%360;
  58.  
  59.     GT_SetGadgetAttrs(WBStarsGadgets[GD_azimut2],WBStarsWnd,NULL,GTIN_Number,az2,TAG_DONE);
  60.  
  61.     return TRUE;
  62. }
  63.  
  64. int courseClicked( void )
  65. {
  66.     /* routine when gadget "OK" is clicked. */
  67.  
  68.     ClearIfOk();
  69.  
  70.     az=az2=GetNumber( WBStarsGadgets[GD_azimut2] );
  71.     he=he2=GetNumber( WBStarsGadgets[GD_height2] );
  72.     GT_SetGadgetAttrs(WBStarsGadgets[GD_azimut],WBStarsWnd,NULL,GTNM_Number,az,TAG_DONE);
  73.     GT_SetGadgetAttrs(WBStarsGadgets[GD_height],WBStarsWnd,NULL,GTNM_Number,he,TAG_DONE);
  74.  
  75.     NewStars();
  76.  
  77.     return TRUE;
  78. }
  79.  
  80. int warpClicked( void )
  81. {
  82.     /* routine when gadget "Warp" is clicked. */
  83.  
  84.     warpf=WBStarsMsg.Code;
  85.  
  86.     ClearIfOk();
  87.     NewStars();
  88.  
  89.     return TRUE;
  90. }
  91.  
  92. int mode_winClicked( void )
  93. {
  94.     /* routine when gadget "Use Window" is clicked. */
  95.  
  96.     ClearIfOk();
  97.  
  98.     if(mode==MODE_WIN)
  99.     {
  100.         mode=MODE_SCREEN;
  101.     }
  102.     else
  103.     {
  104.         mode=MODE_WIN;
  105.     }
  106.  
  107.     if(GetWindow()==FALSE)
  108.     {
  109.         WinWait();
  110.     }
  111.  
  112.     return TRUE;
  113. }
  114.  
  115. int priClicked( void )
  116. {
  117.     /* routine when gadget "Pri" is clicked. */
  118.  
  119.     wbs_pri=WBStarsMsg.Code;
  120.     SetTaskPri(FindTask(0),wbs_pri);
  121.  
  122.     return TRUE;
  123. }
  124.  
  125. int saveClicked( void )
  126. {
  127.     /* routine when gadget "Save" is clicked. */
  128.  
  129. /*    BPTR    fh;
  130.     long    pref[263];
  131.     short     i;
  132.  
  133.     pref[0]=(long)wbs_pri;
  134.     pref[1]=(long)mode;
  135.     pref[2]=(long)anzstars;
  136.     pref[3]=(long)warpf;
  137.     pref[4]=(long)az;
  138.     pref[5]=(long)he;
  139.     pref[6]=(long)bgpen;
  140.     for(i=0;i<npen+1;i++)
  141.     {
  142.         pref[i+7]=(long)PEN[i];
  143.     }
  144.     pref[i+7]=(long)-1;
  145.  
  146.     if(fh=Open("ENV:WBStars.prefs",MODE_NEWFILE))
  147.     {
  148.         Write(fh,&pref[0],4*(i+8));
  149.         Close(fh);
  150.     }
  151.     if(fh=Open("ENVARC:WBStars.prefs",MODE_NEWFILE))
  152.     {
  153.         Write(fh,&pref[0],4*(i+8));
  154.         Close(fh);
  155.     }
  156. */
  157.     return TRUE;
  158. }
  159.  
  160. int resetClicked( void )
  161. {
  162.     /* routine when gadget "Reset" is clicked. */
  163.  
  164.     if(status==ACTIVE)
  165.     {
  166.         ClearIfOk();
  167.         Screen=NULL;
  168.         wnd=NULL;
  169.     }
  170.     az=AZI;
  171.     he=HEI;
  172.     az2=AZI;
  173.     he2=HEI;
  174.     wbs_pri=PRI;
  175.     mode=STRTMODE;
  176.     anzstars=MAXSTARS;
  177.     warpf=WRP;
  178.     bgpen=BACKPEN;
  179.     PEN[0]=2;
  180.     npen=NPEN;
  181.     LoadPrefs();
  182.     SetTaskPri(FindTask(0),wbs_pri);
  183.     SetGadgets();
  184.     if(status==ACTIVE)
  185.     {
  186.         if(GetWindow()==FALSE)
  187.         {
  188.             WinWait();
  189.         }
  190.     }
  191.  
  192.     return TRUE;
  193. }
  194.  
  195. int removeClicked( void )
  196. {
  197.     /* routine when gadget "Remove" is clicked. */
  198.  
  199.     idcmp=IDC_QUIT;
  200.  
  201.     return TRUE;
  202. }
  203.  
  204. int statusClicked( void )
  205. {
  206.     /* routine when gadget "" is clicked. */
  207.  
  208.     if( WBStarsMsg.Code==0 )
  209.     {
  210.         status=ACTIVE;
  211.     }
  212.     else
  213.     {
  214.         ClearIfOk();
  215.         status=INACTIVE;
  216.         Screen=NULL;
  217.         wnd=NULL;
  218.     }
  219.  
  220.     return TRUE;
  221. }
  222.  
  223. int bg_setClicked( void )
  224. {
  225.     /* routine when gadget "BG" is clicked. */
  226.  
  227.     ClearIfOk();
  228.  
  229.     bgpen=GetNumber( WBStarsGadgets[GD_bg_set] );
  230.  
  231.     return TRUE;
  232. }
  233.  
  234. int bg_tryClicked( void )
  235. {
  236.     /* routine when gadget "try" is clicked. */
  237.  
  238. /*    short i;
  239.     char    testcolor[256];
  240.     char    numcolors=0;
  241.     short    minum;
  242.  
  243.     ClearIfOk();
  244.  
  245.     for(i=0;i<anzcolors;i++)
  246.     {
  247.         testcolor[i]=0;
  248.     }
  249.     for(i=0;i<min(maxx,maxy);i++)
  250.     {
  251.         testcolor[ReadPixel(RastP,i,i)]++;
  252.     }
  253.     while(numcolors<anzcolors)
  254.     {
  255.         for(i=anzcolors;i>0;i--);
  256.         {
  257.             minum=0;
  258.             if(testcolor[i-1]>-1)
  259.             {
  260.                 if(testcolor[i-1]>0)
  261.                 {
  262.                     if(minum==0)
  263.                     {
  264.                         minum=testcolor[i-1];
  265.                     }
  266.                     else
  267.                     {
  268.                         minum=min(minum,testcolor[i-1]);
  269.                     }
  270.                 }
  271.                 else
  272.                 {
  273.                     testcolor[i-1]=-1;
  274.                     numcolors++;
  275.                     colnums[anzcolors-numcolors]=i;
  276.                 }
  277.             }
  278.         }
  279.         if(minum)
  280.         {
  281.             for(i=0;i<anzcolors;i++)
  282.             {
  283.                 testcolor[i]-=minum;
  284.             }
  285.         }
  286.     }
  287. */
  288.     return TRUE;
  289. }
  290.  
  291. int bg_nextClicked( void )
  292. {
  293.     /* routine when gadget "next" is clicked. */
  294.  
  295.     ClearIfOk();
  296.  
  297.     bgpen=( GetNumber( WBStarsGadgets[GD_bg_set] ) +1)%anzcolors;
  298.     GT_SetGadgetAttrs(WBStarsGadgets[GD_bg_set],WBStarsWnd,NULL,GTIN_Number,bgpen,TAG_DONE);
  299.  
  300.     return TRUE;
  301. }
  302.  
  303. int height2Clicked( void )
  304. {
  305.     /* routine when gadget "" is clicked. */
  306.  
  307.     short he3;
  308.  
  309.     he3=GetNumber( WBStarsGadgets[GD_height2] );
  310.  
  311.     if( (he3>-91)&&(he3<91) )
  312.     {
  313.         he2=he3;
  314.     }
  315.     else
  316.     {
  317.         GT_SetGadgetAttrs(WBStarsGadgets[GD_height2],WBStarsWnd,NULL,GTIN_Number,he2,TAG_DONE);
  318.     }
  319.  
  320.     return TRUE;
  321. }
  322.  
  323. int azimut2Clicked( void )
  324. {
  325.     /* routine when gadget "" is clicked. */
  326.  
  327.     short az3;
  328.  
  329.     az3=GetNumber( WBStarsGadgets[GD_azimut2] );
  330.  
  331.     if( (az3>-180)&&(az3<361) )
  332.     {
  333.         az2=(az3+360)%360;
  334.     }
  335.  
  336.     GT_SetGadgetAttrs(WBStarsGadgets[GD_azimut2],WBStarsWnd,NULL,GTIN_Number,az2,TAG_DONE);    
  337.  
  338.     return TRUE;
  339. }
  340.  
  341. int starsClicked( void )
  342. {
  343.     /* routine when gadget "Stars" is clicked. */
  344.  
  345.     ClearIfOk();
  346.     anzstars=WBStarsMsg.Code;
  347.     NewStars();
  348.  
  349.     return TRUE;
  350. }
  351.  
  352. int WBStarsCloseWindow( void )
  353. {
  354.     /* routine for "IDCMP_CLOSEWINDOW". */
  355.  
  356.     idcmp=IDC_HIDE;
  357.  
  358.     return TRUE;
  359. }
  360.